package com.wicket.okrframework.biz.service.dto.req;
import com.wicket.okrframework.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import javax.validation.constraints.NotNull;
import lombok.Data;
import com.wicket.okrframework.base.service.dto.req.DeptDto;
import com.wicket.okrframework.biz.service.dto.common.DeptAdminAndDeputyDto;
import com.wicket.okrframework.biz.service.dto.res.OrgInductionRecordDto;
import com.wicket.okrframework.biz.service.dto.common.PowerCodeListDto;
    
    
    /**
     * @desc QueryReceiveFieldDetailReqDto
     * @使用场景
     */
    @Data
    public class QueryReceiveFieldDetailReqDto extends BaseDto  implements Serializable {
      
    /**
     * 输入数值 
     */
    @NotNull(message = "输入数值不能为空")
@ApiModelProperty("输入数值")
    private Long	 inputNum;
/**
     * 批次下更新状态 NEW:本次新增 UNCHANGED:正常未变 REVISION:本次修订 ARCHIVE:本次存档
     */
    @NotNull(message = "批次下更新状态不能为空")
@ApiModelProperty("批次下更新状态")
    private String	 updateStatus;
/**
     * 批次处理进度 
     */
    @NotNull(message = "批次处理进度不能为空")
@ApiModelProperty("批次处理进度")
    private Long	 batchHandleSpeed;

    /**
     * 批次处理步骤 
     */
    @NotNull(message = "批次处理步骤不能为空")
@ApiModelProperty("批次处理步骤")
    private String	 batchHandleStep;

    /**
     * 批次处理类型 PLAN_EVA_BATCH_PUBLISH:评价模板发布批次 PLAN_EVA_DELETE_BATCH:评价模板撤销批次 ORG_BATCH_PUBLISH:组织架构批次发布 ORG_DELETE_BATCH:组织架构批次撤销
     */
    @NotNull(message = "批次处理类型不能为空")
@ApiModelProperty("批次处理类型")
    private String	 batchHandleTypeCod;
/**
     * 开始管理 
     */
    @NotNull(message = "开始管理不能为空")
@ApiModelProperty("开始管理")
    private String	 startMgtObj;
/**
     * 暂停对外使用 
     */
    @NotNull(message = "暂停对外使用不能为空")
@ApiModelProperty("暂停对外使用")
    private String	 suspendedObj;
/**
     * 恢复对外使用 
     */
    @NotNull(message = "恢复对外使用不能为空")
@ApiModelProperty("恢复对外使用")
    private String	 restoreObj;
/**
     * 发布生效 
     */
    @NotNull(message = "发布生效不能为空")
@ApiModelProperty("发布生效")
    private String	 releaseEffectObj;
/**
     * 取消设置完成 
     */
    @NotNull(message = "取消设置完成不能为空")
@ApiModelProperty("取消设置完成")
    private String	 cancelSetCompleteObj;
/**
     * 确认设置完成 
     */
    @NotNull(message = "确认设置完成不能为空")
@ApiModelProperty("确认设置完成")
    private String	 setCompleteObj;
/**
     * 撤销修订 
     */
    @NotNull(message = "撤销修订不能为空")
@ApiModelProperty("撤销修订")
    private String	 cancelRevisionObj;
/**
     * 变更记录 
     */
    @NotNull(message = "变更记录不能为空")
@ApiModelProperty("变更记录")
    private String	 changeRecordObj;
/**
     * 锁定原因 
     */
    @NotNull(message = "锁定原因不能为空")
@ApiModelProperty("锁定原因")
    private String	 lockReasonObj;
/**
     * 管理操作 
     */
    @NotNull(message = "管理操作不能为空")
@ApiModelProperty("管理操作")
    private String	 mgtOpeObj;
/**
     * 首次操作 
     */
    @NotNull(message = "首次操作不能为空")
@ApiModelProperty("首次操作")
    private String	 firstOperation;
/**
     * 批次现状 
     */
    @NotNull(message = "批次现状不能为空")
@ApiModelProperty("批次现状")
    private String	 batchCurrentStatus;
/**
     * 后续操作 
     */
    @NotNull(message = "后续操作不能为空")
@ApiModelProperty("后续操作")
    private String	 trailingOperation;
/**
     * 混合操作 
     */
    @NotNull(message = "混合操作不能为空")
@ApiModelProperty("混合操作")
    private String	 mixtureOperation;
/**
     * 批次下管理操作类型 START_MGT_OBJ:开始管理 SET_COMPLETE_OBJ:确认设置完成 CANCEL_SET_COMPLETE_OBJ:取消设置完成 RELEASE_EFFECT_OBJ:发布生效 CANCEL_REVISION_OBJ:撤销修订 CHANGE_RECORD_OBJ:变更记录 SUSPENDED_OBJ:暂停对外使用 RESTORE_OBJ:恢复对外使用 LOCK_REASON_OBJ:锁定原因 BATCH_CURRENT_STATUS:批次现状 FIRST_OPERATION:首次操作 TRAILING_OPERATION:后续操作 MIXTURE_OPERATION:混合操作
     */
    @NotNull(message = "批次下管理操作类型不能为空")
@ApiModelProperty("批次下管理操作类型")
    private String	 batchMgtOperationType;
/**
     * 管理权限类型 MIS_MANAGE:不可管理 FIRST_MANAGE:首次管理 FOLLOW_MANAGE:后续管理 CUR_MANAGE:当前正在管理
     */
    @NotNull(message = "管理权限类型不能为空")
@ApiModelProperty("管理权限类型")
    private String	 enterMgtPowerType;
/**
     * 身份人员ID 
     */
    @NotNull(message = "身份人员ID不能为空")
@ApiModelProperty("身份人员ID")
    private String	 originalRoleMemberId;
/**
     * 传输数值 
     */
    @NotNull(message = "传输数值不能为空")
@ApiModelProperty("传输数值")
    private Long	 outputNum;
/**
     * 部门开始管理 
     */
    @NotNull(message = "部门开始管理不能为空")
@ApiModelProperty("部门开始管理")
    private String	 deptStartMgt;
/**
     * 部门维护完成 
     */
    @NotNull(message = "部门维护完成不能为空")
@ApiModelProperty("部门维护完成")
    private String	 deptPreserveAchieve;
/**
     * 部门管理权限类型 MIS_MANAGE:不可管理 CUR_MANAGE:当前正在管理 MANAGE:可管理
     */
    @NotNull(message = "部门管理权限类型不能为空")
@ApiModelProperty("部门管理权限类型")
    private String	 deptEnterMgtPowerType;
/**
     * 部门管理操作 
     */
    @NotNull(message = "部门管理操作不能为空")
@ApiModelProperty("部门管理操作")
    private String	 deptOperation;
/**
     * 部门ID 
     */
    @ApiModelProperty("部门ID")
    private String	 deptId;

    /**
     * 就职单位类型实例 ORG:组织 DEPT:部门
     */
    @NotNull(message = "就职单位类型实例不能为空")
@ApiModelProperty("就职单位类型实例")
    private String	 inductionUnitTypeCode;
/**
     * 绑定手机 
     */
    @ApiModelProperty("绑定手机")
    private String	 phone;

    /**
     * 身份人员编号 
     */
    @ApiModelProperty("身份人员编号")
    private String	 roleMemberCode;

    /**
     * 用户名 
     */
    @ApiModelProperty("用户名")
    private String	 userName;

    /**
     * 密码 
     */
    @ApiModelProperty("密码")
    private String	 password;

    /**
     * 验证码 
     */
    @ApiModelProperty("验证码")
    private String	 verificationCode;
/**
     * 成员开始管理数据正确主条件 MIS_MANAGE:不可管理 FIRST_MANAGE:首次管理 FOLLOW_MANAGE:后续管理 CUR_MANAGE:当前正在管理
     */
    @NotNull(message = "成员开始管理数据正确主条件不能为空")
@ApiModelProperty("成员开始管理数据正确主条件")
    private String	 memStartMgtDataCon;
/**
     * 部门开始管理数据正确主条件 MIS_MANAGE:不可管理 CUR_MANAGE:当前正在管理 MANAGE:可管理
     */
    @NotNull(message = "部门开始管理数据正确主条件不能为空")
@ApiModelProperty("部门开始管理数据正确主条件")
    private String	 deptStartMgtDataCon;
/**
     * 是否正副职 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否正副职")
    private String	 isDeputy;
/**
     * 部门变更记录 
     */
    @ApiModelProperty("部门变更记录")
    private String	 deptChangeRecordObj;
/**
     * 组织架构管理场景 ORG_CAN_MGT_SEN:组织架构可以开始管理场景 MEM_FIR_BATCH_MGT_SEN:成员首次批次管理场景 MEM_SUB_BATCH_MGT_SEN:成员后续批次管理场景 DEPT_MGT_SEN:部门管理场景
     */
    @NotNull(message = "组织架构管理场景不能为空")
@ApiModelProperty("组织架构管理场景")
    private String	 memtMgtSence;
/**
     * 就职记录ID 
     */
    @NotNull(message = "就职记录ID不能为空")
@ApiModelProperty("就职记录ID")
    private String	 inductionRecordId;

    /**
     * 创建于空间ID 
     */
    @NotNull(message = "创建于空间ID不能为空")
@ApiModelProperty("创建于空间ID")
    private String	 spaceId;
/**
     * 修订主体内容 
     */
    @NotNull(message = "修订主体内容不能为空")
@ApiModelProperty("修订主体内容")
    private String	 reviseSubjectContent;

    /**
     * 修订行为名称 
     */
    @NotNull(message = "修订行为名称不能为空")
@ApiModelProperty("修订行为名称")
    private String	 reviseBehaviorName;

    /**
     * 变更字段中文内容 
     */
    @NotNull(message = "变更字段中文内容不能为空")
@ApiModelProperty("变更字段中文内容")
    private String	 columnContent;
/**
     * 存档行为名称 
     */
    @NotNull(message = "存档行为名称不能为空")
@ApiModelProperty("存档行为名称")
    private String	 archiveBehaviorName;

    /**
     * 存档主体内容 
     */
    @NotNull(message = "存档主体内容不能为空")
@ApiModelProperty("存档主体内容")
    private String	 archiveSubjectContent;

    /**
     * 主体内容归属父对象 
     */
    @NotNull(message = "主体内容归属父对象不能为空")
@ApiModelProperty("主体内容归属父对象")
    private String	 subjectContAffiliationParentCont;
/**
     * 新增主体内容 
     */
    @NotNull(message = "新增主体内容不能为空")
@ApiModelProperty("新增主体内容")
    private String	 addSubjectContent;

    /**
     * 新增行为名称 
     */
    @NotNull(message = "新增行为名称不能为空")
@ApiModelProperty("新增行为名称")
    private String	 addBehaviorName;
/**
     * 批次ID 
     */
    @ApiModelProperty("批次ID")
    private String	 batchId;

    /**
     * 批次结束时间 
     */
    @ApiModelProperty("批次结束时间")
    private Date	 batchEndTime;

    /**
     * 是否未来 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否未来不能为空")
@ApiModelProperty("是否未来")
    private String	 isEditing;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
@ApiModelProperty("主体生命周期")
    private String	 subjectLifeCycle;
/**
     * 批次开始时间 
     */
    @ApiModelProperty("批次开始时间")
    private Date	 batchStartTime;
/**
     * 原始字段中文内容 
     */
    @NotNull(message = "原始字段中文内容不能为空")
@ApiModelProperty("原始字段中文内容")
    private String	 oriColumnContent;
/**
     * 可选主管就职记录ID 
     */
    @NotNull(message = "可选主管就职记录ID不能为空")
@ApiModelProperty("可选主管就职记录ID")
    private String	 directorInductionRecordId;
/**
     * 是否可编辑 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否可编辑不能为空")
@ApiModelProperty("是否可编辑")
    private String	 isEditable;
/**
     * 部门类型字典ID 
     */
    @NotNull(message = "部门类型字典ID不能为空")
@ApiModelProperty("部门类型字典ID")
    private String	 typeDictionaryId;
@ApiModelProperty("部门列表")
private List<DeptDto> deptList = new ArrayList<>();
/**
     * 下属部门情况 SUBORDINATE_ALL:下级全部有部门 SUBORDINATE_PART_DEPT:下级部分有部门 SUBORDINATE_NO:下级全部无部门
     */
    @NotNull(message = "下属部门情况 不能为空")
@ApiModelProperty("下属部门情况 ")
    private String	 subordinateDivType;
/**
     * 授权证书ID 
     */
    @NotNull(message = "授权证书ID不能为空")
@ApiModelProperty("授权证书ID")
    private String	 authorizationId;
/**
     * 个人资料记录ID
     */
    @NotNull(message = "个人资料记录ID不能为空")
@ApiModelProperty("个人资料记录ID")
    private String	 personalDataId;

    /**
     * 账号
     */
    @NotNull(message = "账号不能为空")
@ApiModelProperty("账号")
    private String	 userId;

    /**
     * 密保问题
     */
    @NotNull(message = "密保问题不能为空")
@ApiModelProperty("密保问题")
    private String	 myPwdProblem;

    /**
     * 创建于联盟应用ID
     */
    @NotNull(message = "创建于联盟应用ID不能为空")
@ApiModelProperty("创建于联盟应用ID")
    private String	 appId;
/**
     * 真实姓名
     */
    @NotNull(message = "真实姓名不能为空")
@ApiModelProperty("真实姓名")
    private String	 idCardName;

    /**
     * 真实头像
     */
    @NotNull(message = "真实头像不能为空")
@ApiModelProperty("真实头像")
    private String	 userFace;
/**
     * 自定义字段
     */
    @ApiModelProperty("自定义字段")
    private String	 customField;

    /**
     * 自定义字段1
     */
    @ApiModelProperty("自定义字段1")
    private String	 customField1;

    /**
     * 自定义字段2
     */
    @ApiModelProperty("自定义字段2")
    private String	 customField2;

    /**
     * 自定义字段3
     */
    @ApiModelProperty("自定义字段3")
    private String	 customField3;

    /**
     * 租户空间ID
     */
    @ApiModelProperty("租户空间ID")
    private String	 authorizationSpaceId;

    /**
     * 自定义字段4
     */
    @ApiModelProperty("自定义字段4")
    private String	 customField4;

    /**
     * 自定义字段5
     */
    @ApiModelProperty("自定义字段5")
    private String	 customField5;

    /**
     * 自定义字段6
     */
    @ApiModelProperty("自定义字段6")
    private String	 customField6;

    /**
     * 自定义字段7
     */
    @ApiModelProperty("自定义字段7")
    private String	 customField7;

    /**
     * 自定义字段8
     */
    @ApiModelProperty("自定义字段8")
    private String	 customField8;

    /**
     * 管理的空间ID
     */
    @ApiModelProperty("管理的空间ID")
    private String	 uniqueSpaceId;
/**
     * 发送方是否助手 TRUE:是 FALSE:否
     */
    @NotNull(message = "发送方是否助手不能为空")
@ApiModelProperty("发送方是否助手")
    private String	 isAssistant;

    /**
     * 发送方角色 SYSTEM:第三方系统 USER:用户 ASSISTANT:助手
     */
    @NotNull(message = "发送方角色不能为空")
@ApiModelProperty("发送方角色")
    private String	 messageRole;

    /**
     * 发送方身份人员ID
     */
    @ApiModelProperty("发送方身份人员ID")
    private String	 senderOriginalRoleMemberId;

    /**
     * 发送方账号ID
     */
    @ApiModelProperty("发送方账号ID")
    private String	 senderUserId;

    /**
     * 发送方头像地址
     */
    @ApiModelProperty("发送方头像地址")
    private String	 senderProfilePictureAddress;

    /**
     * 发送方姓名
     */
    @ApiModelProperty("发送方姓名")
    private String	 nameOfSender;

    /**
     * 发送方空间ID
     */
    @ApiModelProperty("发送方空间ID")
    private String	 senderSpaceId;

    /**
     * 发送方联盟应用ID
     */
    @ApiModelProperty("发送方联盟应用ID")
    private String	 senderAppId;
/**
     * 认证中心登录地址 
     */
    @ApiModelProperty("认证中心登录地址")
    private String	 authLoginUrl;

    /**
     * 认证中心登出地址 
     */
    @ApiModelProperty("认证中心登出地址")
    private String	 authLogoutUrl;

    /**
     * 认证中心验证票据地址 
     */
    @ApiModelProperty("认证中心验证票据地址")
    private String	 authCheckTicketUrl;

    /**
     * 应用回调地址 
     */
    @ApiModelProperty("应用回调地址")
    private String	 appCallBackUrl;
/**
     * 是否 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否不能为空")
@ApiModelProperty("是否")
    private String	 tureOrFalse;
/**
     * 是否主岗 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否主岗不能为空")
@ApiModelProperty("是否主岗")
    private String	 isMainInduction;
/**
     * 设主岗元素 
     */
    @NotNull(message = "设主岗元素不能为空")
@ApiModelProperty("设主岗元素")
    private Long	 setMajorPositionElement;
@ApiModelProperty("部门管理员及正副职列表")
private List<DeptAdminAndDeputyDto> deptAdminAndDeputyList = new ArrayList<>();
@ApiModelProperty("就职记录列表")
private List<OrgInductionRecordDto> orgInductionRecordList = new ArrayList<>();
/**
     * 部门管理者获取条件 ALL:全部 PRINCIPAL:正职 PRINCIPAL_DEPUTY:正副职 ONLY_ADMIN:仅管理员
     */
    @NotNull(message = "部门管理者获取条件不能为空")
@ApiModelProperty("部门管理者获取条件")
    private String	 deptDeputyCondition;

    /**
     * 权限标识 
     */
    @NotNull(message = "权限标识不能为空")
@ApiModelProperty("权限标识")
    private String	 privacyCode;
/**
     * 发送方就职部门ID
     */
    @NotNull(message = "发送方就职部门ID不能为空")
@ApiModelProperty("发送方就职部门ID")
    private String	 senderDeptId;

    /**
     * 发送方就职记录ID
     */
    @NotNull(message = "发送方就职记录ID不能为空")
@ApiModelProperty("发送方就职记录ID")
    private String	 senderInductionRecordId;
/**
     * 组织ID 
     */
    @ApiModelProperty("组织ID")
    private String	 organizationId;

    /**
     * 是否系统数据 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否系统数据")
    private String	 isSystemData;
/**
     * 部门业务身份 EDUCATIONAL_ADMINISTRATION:教务 TEACHING_DEPARTMENT:教学部门 LEARNING_INDUSTRIAL_PRODUCTION:学工 PERSONNEL_MATTERS:人事 FINANCE:财务 SCHOOL_LEADER:校领导 TOP_LEVEL:高层
     */
    @NotNull(message = "部门业务身份不能为空")
@ApiModelProperty("部门业务身份")
    private String	 deptBusinessIdentity;
/**
     * 数据对象批次标识 
     */
    @NotNull(message = "数据对象批次标识不能为空")
@ApiModelProperty("数据对象批次标识")
    private String	 dataObjectBatchCode;
/**
     * 版权归属对象ID 
     */
    @NotNull(message = "版权归属对象ID不能为空")
@ApiModelProperty("版权归属对象ID")
    private String	 copyrightObjectId;

    /**
     * 版权归属对象名称 
     */
    @NotNull(message = "版权归属对象名称不能为空")
@ApiModelProperty("版权归属对象名称")
    private String	 copyrightObjectName;
/**
     * 主题标识
     */
    @NotNull(message = "主题标识不能为空")
@ApiModelProperty("主题标识")
    private String	 themeCode;
/**
     * 计算开始时间
     */
    @NotNull(message = "计算开始时间不能为空")
@ApiModelProperty("计算开始时间")
    private Date	 calcStartTime;
/**
     * 类型字典编码 
     */
    @NotNull(message = "类型字典编码不能为空")
@ApiModelProperty("类型字典编码")
    private String	 typeDictionaryCode;

    /**
     * 层级 
     */
    @NotNull(message = "层级不能为空")
@ApiModelProperty("层级")
    private Long	 levelNumber;
@ApiModelProperty("任务分类列表 ")
List<String> taskCategoriesList = new ArrayList<>();
@ApiModelProperty("权限Code列表")
private List<PowerCodeListDto> powerCodeList = new ArrayList<>();

      

    }
   